Fail Fast, Learn Fast as the foundation of a culture

Since the era of agile software development began around twenty-five years ago, one of the mottos that has been repeated time and time again is fail fast, learn fast. Its premise is that the faster you put your boat in the water, the faster you'll see whether it floats or sinks; you can also quickly identify where the holes in the hull are, validate if the balance is good, etc. Bringing this to software development, putting your software into production in the shortest time possible, helps you validate that what you're building works.

When it comes to Lean Product Development, it means that we validate earlier that the Product has product-market fit, that the customers actually use a feature, that the business flow works accordingly without errors. That being able to ship code into production quicker is better for a business which is (in)validating its hypotheses, there's no arguing with that. When it's time for a bank to do it, where there is a plethora of regulations, customers' money is the asset we're handling and credibility is paramount to keep the business running, things get a little bit entangled. In most of banks bureaucracy reigns and viscosity is the default scenario for getting code shipped into Production.

At DKB Code Factory we've been striving to bring innovation and an agile-style-of-building-products to our daily work that's aligned with, and even deeply rooted in, the culture of DKB, which was born as a tech bank from the beginning. There are many things to say about how the agile mindset collapses with regulation and how we handle it here, but today I'd like to talk about the impact it has on our culture.

Culture is not what we speak of ourselves, but what we live on a daily basis.

One of our five core values is Growth Mindset: "The ability to be self-aware and have a realistic view of one’s own strengths, weaknesses and areas of improvement. Possible challenges are seen as an opportunity to develop further & to grow and by this, to adapt to changing environments.".

There's a strong alignment between Growth Mindset and Fail Fast, Learn Fast. We believe that our employees must find a place here that's safe enough to make mistakes, knowing that people tend to learn more quickly from their own mistakes; lessons learned from mistakes made and fixed also last longer. So, we strongly believe in learning and growing from failures. However, just opening space for making mistakes is not enough, because we still have to keep the reliability and credibility of the products we're building.

Therefore, our way of enabling fail fast, learn fast, is by balancing boldness and responsibility. It's not about just going to production carelessly, but about assessing the risks involved and making the right decision around it. It's about evaluating the trade-offs and deciding on what to do next. To guarantee quality we have a good number of mechanisms to mitigate risks, like automated pipelines, a vast coverage with automated tests and different rollout strategies, and these artifacts increase our collaborators' freedom to explore and experiment with new approaches.

Here, we live a culture that values autonomy, knowing that its counterpart is responsibility. Like a coin you can't have one without the other. As we say here: You build it, you run it, you own it – we mean it!

Written by Jose Vicente Neto - Engineering Manager